﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Services;
using System.ComponentModel;
using Billing.Services;
using System.Web.Services.Protocols;

namespace Billing.PaymentServices
{
    [WebService(Namespace = "http://Billing/Services/2008/08", Name = "CashDeskService")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public interface ICashDeskService : IServiceBase
    {
        [WebMethod]
        [SoapHeader("BillingSoapHeader", Direction = SoapHeaderDirection.InOut)]
        ClientsInfo GetClientInfo(ref PaymentObject paymentObject);

        [WebMethod]
        [SoapHeader("BillingSoapHeader", Direction = SoapHeaderDirection.InOut)]
        void GetBillInfo(ref PaymentObject paymentObject);

        [WebMethod]
        [SoapHeader("BillingSoapHeader", Direction = SoapHeaderDirection.InOut)]
        byte[] GetBillDetails(PaymentObject paymentObject);

        [WebMethod]
        [SoapHeader("BillingSoapHeader", Direction = SoapHeaderDirection.InOut)]
        void Pay(PaymentObject paymentObject);

        [WebMethod]
        [SoapHeader("BillingSoapHeader", Direction = SoapHeaderDirection.InOut)]
        long? CreatePaymentOrder(PaymentObject paymentObject);
    }
}
